package ${package.Service};

import ${cfg.parent}.bean.*;
import ${cfg.parent}.dto.*;
import ${cfg.parent}.entity.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xc.core.bean.*;
import com.xc.core.dto.*;

import java.util.List;

/**
 * <p>
 * ${cfg.describe}服务类接口
 * </p>
 *
 * @author ${author}
 * @version 1.0.0
 * @jdk 1.8.0
 * @since ${date}
 */
public interface ${cfg.name?cap_first}Service extends IService<${cfg.name?cap_first}Entity> {

    /**
    * 添加
    *
    * @param ${cfg.name}Bean 添加数据
    * @return 添加成功后返回数据
    */
    public ${cfg.name?cap_first}Dto create${cfg.name}(${cfg.name?cap_first}Bean ${cfg.name}Bean);

    /**
    * 查询
    * 支持排序模糊查询
    *
    * @param queryBean 排序模糊查询条件
    * @param ${cfg.name}Bean  查询数据条件
    * @return 返回按条件查询的list集合数据
    */
    public List<${cfg.name?cap_first}Dto> get${cfg.name}(QueryBean queryBean, ${cfg.name?cap_first}Bean ${cfg.name}Bean);


    /**
    * 分页查询
    * 支持排序模糊查询
    *
    * @param queryBean 排序模糊查询条件
    * @param ${cfg.name}Bean  查询数据条件
    * @return 返回带有分页信息的数据对象
    */
    public PagingDto get${cfg.name}Paging(PagingBean pagingBean, QueryBean queryBean, ${cfg.name?cap_first}Bean ${cfg.name}Bean);

    /**
    * 根据id查寻
    *
    * @param id 唯一标识
    * @return 返回当前id的数据
    */
    public ${cfg.name?cap_first}Dto get${cfg.name}ById(String id);


    /**
    * 根据id修改
    *
    * @param id 唯一标识
    * @param ${cfg.name}Bean 要修改的数据
    * @return 修改后的数据
    */
    public ${cfg.name?cap_first}Dto update${cfg.name}(String id, ${cfg.name?cap_first}Bean ${cfg.name}Bean);

    /**
    * 根据id删除
    *
    * @param id 唯一标识
    */
    public void delete${cfg.name}(String id);

}
